Computer networks couple various types of computer systems in a manner that enables the network coupled computer systems to access data from a variety of sources of information. Some computer networks allow media content to be streamed from one or more network coupled sources of media content to one or more network coupled receivers of media content. In such computer networks, media content can be streamed by media content servers and played back by media content playback systems that are associated with the media content receivers.
Parameters that are associated with the streaming and the playback of media content can affect the quality of the playback of streamed media content. In order to achieve a satisfactory playback performance, media content streaming and playback parameters must be configured in a manner that is suitable for existing streaming and playback conditions. Parameters that are associated with the streaming and playback of media content that can affect the playback of streamed media content can include but are not limited to bit rate of the media content stream, the amount of data that is prerolled by the playback system buffer and buffer size.
The bit rate of the media content stream determines the amount of data per unit time that needs to be supplied by a media content server to a media content receiver to ensure consistent playback. The amount of data that is prerolled is the amount of data that must be buffered before playback will begin. Buffer size determines the total amount of media content that the media content receiver or playback system associated therewith can cache. The configuration of parameters such as these can determine whether or not a satisfactory playback performance is achieved.
For example, although the highest bit rate transmission of media content that can be selected may allow a supply to a media content receiver of the highest quality signal that is available, a more satisfactory playback performance can sometimes be achieved if parameters are employed that result in a lower quality signal being supplied to the media content receiver. This can occur if the media content receiver is not suited to receive the amount of data required by such high quality media content or if the network is not suited to deliver data at the bit-rate associated with such high quality media content.
In another example, because larger sized buffers can accommodate more data than do smaller sized buffers, larger sized buffers enable playback of streamed media content to be less susceptible to transmission disturbances (e.g., be resilient to transmission disturbances) than do smaller sized buffers. Consequently, in environments where content streaming disturbances are more likely (such as where wireless delivery systems are employed) parameters that cause a larger sized buffer to be used can facilitate a more satisfactory playback performance. Conversely, smaller sized buffers allow memory to be saved for use by other system components.
Furthermore, a larger preroll of data provides greater resiliency to transmission disturbances than does a smaller preroll of data. However, a smaller preroll of data enables swifter initiation of playback than does a larger preroll of data. Consequently, parameters that determine the amount of data to be prerolled can determine the balance between how swiftly playback can be initiated and how resilient that playback will be to transmission disturbances.
Some conventional systems provide users with a limited capacity to manually select media content streaming and playback parameter values such as streaming rate, buffer size, and preroll amount. In conventional systems, the selection of parameter values such as streaming rate, buffer size, and preroll amount as a means of improving playback performance are typically based at least in part on speculations regarding media content streaming and playback conditions.
Such conventional systems do not provide an effective mechanism for controlling media content streaming and playback parameters. It should be appreciated that the effectiveness of conventional user streaming and playback parameter configurations are compromised both by the paucity of parameters that are available for configuration by users and the heavy reliance of such configurations on user speculation related to existing streaming and playback conditions. Additionally, once selections are made they may not be updated to address changed conditions. As such, these approaches are inadequate for optimizing playback performance and can provide unsatisfactory results.